/*
 * LoggerSingletion.h
 *
 *  Created on: Jul 2, 2013
 *      Author: dsweeney
 */

#ifndef LOGGERSINGLETION_H_
#define LOGGERSINGLETION_H_

#include <string>
#include "CommonTypes.h"

class Logger
{
public:
	~Logger()
	{
		if (p_instance != 0)
			delete p_instance;
	}
	static Logger* instance ();
	void write (char* file, int line, char* message);
	void write (char* file, int line, char message);
	void write (char* file, int line, std::string message);
	void write(char* file, int line, int message);
	void write(char* file, int line, uint message);
private:
	Logger(){};
	static Logger* p_instance;
};


#endif /* LOGGERSINGLETION_H_ */
